Various client-server applications can exchange large amount of data. To reduce demands on data communications networks, various data compression techniques, e.g., run-length encoding, zip archive, etc., may be employed. However, some data may not be suitable for traditional compression techniques. Alternatively, because data compression and decompression can be compute intensive or can take considerable time, their use is unsuitable for some applications. As an example, a social network may regularly transmit user interface information (e.g., data or even executable code) from a server computing device (“server”) to a client computing device (“client”). Sometimes this data is infrequently updated. Alternatively, only small portions of this data may be updated. In these cases, a superior data compression and transmission process than traditional data compression techniques is desirable.